In questo documento sono descritte le dipendenze di MARS dal JDK
1.2.
Originariamente MARS era stato sviluppato con il JDK 1.1.6.
Per dotarlo di caratteristiche di sicurezza è stato integrato con il
sistema SOMA, sviluppato con il JDK 1.2 beta 2.
Questo ha comportato modifiche a MARS che lo hanno reso dipendente
dal
JDK 1.2 beta 2. Poiché si tratta di una beta release, il codice
scritto per essa potrebbe essere incompatibile con la versione
definitiva del JDK 1.2.
Per esempio, le istruzioni AccessController.beginPrivileged() e
AccessController.endPrivileged() andranno sostituite con l'istruzione
AccessController.doPrivileged().
Per permettere l'aggiornamento del codice sorgente si riportano di
seguito tutte le linee che si riferiscono al JDK 1.2.
Classe jive.javaSpace.SpaceKernel
public SpaceKernel(...) throws AccessControlException {
public SpaceKernel(Principal creator,
Passer Pout) ... {
AccessController.checkPermission(new
MARSRolePermission
(creator.getName()));
public Space createReactiveSpace(Principal
identity)
throws ...,AccessControlException
{
AccessController.checkPermission(new
MARSRolePermission
(identity.getName)));
public Space createPassiveSpace(Principal
identity)
throws ...,AccessControlException
{
AccessController.checkPermission(new
MARSRolePermission
(identity.getName)));
Classe jive.javaSpace.RThreadManager
public RThreadManager(Passer Pout)
{
try { AccessController.beginPrivileged();
...
} finally { AccessController.endPrivileged();
}
public Entry[] Launch(...) {
try { AccessController.beginPrivileged();
//presente
... //due volte!
} finally { AccessController.endPrivileged();
}
Classe jive.graphics.MARSmonitor
public MARSmonitor(...) {
try { AccessController.beginPrivileged();
...
} finally { AccessController.endPrivileged();
}